CosyOS-II API 用户参考手册  1.0.3
宏定义
计数信号量

计数信号量常用于线程同步、资源管理。 更多...

计数信号量 的协作图:

宏定义

#define uExternSem(sem)   sCSV_ExternSem(sem)
 声明计数信号量 更多...
 
#define uCreateSem(sem, init, max)   sCSV_CreateSem(sem, init, max)
 创建计数信号量 更多...
 
#define uGiveSem(sem)    sUSV_GiveSem(sem)
 给予计数信号量 更多...
 
#define uTakeSem(sem, tc)   sUSV_TakeSem(sem, tc)
 获取计数信号量 更多...
 
#define uBackSem(sem)    uGiveSem(sem)
 归还计数信号量 更多...
 

详细描述

计数信号量常用于线程同步、资源管理。

宏定义说明

#define uBackSem (   sem)    uGiveSem(sem)

归还计数信号量

参数
[in]sem计数信号量名称
返回
注解
同型服务:
tBackSem(sem)

在文件 ur_api.h999 行定义.

#define uCreateSem (   sem,
  init,
  max 
)    sCSV_CreateSem(sem, init, max)

创建计数信号量

参数
[in]sem计数信号量名称
[in]init计数信号量初始值
[in]max计数信号量最大值
返回

在文件 ur_api.h965 行定义.

#define uExternSem (   sem)    sCSV_ExternSem(sem)

声明计数信号量

参数
[in]sem计数信号量名称
返回

在文件 ur_api.h956 行定义.

#define uGiveSem (   sem)    sUSV_GiveSem(sem)

给予计数信号量

参数
[in]sem计数信号量名称
返回
注解
同型服务:
tGiveSem(sem)
iGiveSem(sem)

在文件 ur_api.h975 行定义.

#define uTakeSem (   sem,
  tc 
)    sUSV_TakeSem(sem, tc)

获取计数信号量

参数
[in]sem计数信号量名称
[in]tc滴答周期(超时时间)
+0:立即返回
~0:无限等待
返回
结果(bool)
返回值
false失败
true成功
注解
同型服务:
tTakeSem(sem)
警告
任务中获取,不支持在临界区中,包括任务临界区、服务层临界区、全局临界区,或关闭总中断时调用。

在文件 ur_api.h990 行定义.